/** * @license * Copyright 2017 JBoss Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { ICommand, Node } from "apicurio-data-models"; import { CodeEditorMode, CodeEditorTheme } from "../../../../../../components/common/code-editor.component"; import { SelectionService } from "../../_services/selection.service"; import { CommandService } from "../../_services/command.service"; import { DocumentService } from "../../_services/document.service"; import { AbstractBaseComponent } from "../common/base-component"; import { ChangeDetectorRef } from "@angular/core"; /** * Base class for all forms that support a "Source" tab. */ export declare abstract class SourceFormComponent extends AbstractBaseComponent { protected changeDetectorRef: ChangeDetectorRef; protected selectionService: SelectionService; protected commandService: CommandService; protected documentService: DocumentService; private _mode; private _sourceFormat; private _sourceNode; private _sourceJsObj; set sourceNode(node: T); get sourceNode(): T; private _source; sourceJs(): any; private _sourceText; get source(): string; set source(newSource: string); protected constructor(changeDetectorRef: ChangeDetectorRef, selectionService: SelectionService, commandService: CommandService, documentService: DocumentService); protected onDocumentChange(): void; protected abstract createEmptyNodeForSource(): T; canFormatSource(): boolean; canToggleSourceFormat(): boolean; canRevertSource(): boolean; canSaveSource(): boolean; revertSource(): void; saveSource(): void; isSourceFormatYaml(): boolean; isSourceFormatJson(): boolean; toggleSourceFormat(): void; setSourceFormat(sourceFormat: CodeEditorMode): void; formatSource(): void; protected abstract createReplaceNodeCommand(node: T): ICommand; isDesignMode(): boolean; isSourceMode(): boolean; enableDesignMode(): void; enableSourceMode(): void; sourceEditorTheme(): CodeEditorTheme; sourceEditorMode(): CodeEditorMode; collapseAllSections(): void; expandAllSections(): void; }